package com.ynet.middleground.user.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * @program: 2019-10-12_userCenter
 * @description: 机构/部门传输类
 * @author: DaiGaoLe
 * @create: 2019-10-24 16:37
 **/
@Data
@ApiModel(value = "机构，部门", description = "机构，部门")
public class OrganizationalStructureDto implements Serializable {
    private static final long serialVersionUID = -183654847209067019L;
    /**
     * 业务流水号
     */
    @ApiModelProperty(value = "业务流水号", notes = "业务流水号")
    private String businessSeqNo;

    /**
     * 父类id
     */
    @ApiModelProperty(value = "父类id", notes = "父类id")
    private Integer parentId;

    /**
     * 机构/部门id
     */
    @ApiModelProperty(value = "机构/部门id", notes = "机构/部门id")
    private String organizationalId;

    /**
     * 类型(机构、部门)0-机构，1-部门
     */
    @ApiModelProperty(value = "类型(机构、部门)0-机构，1-部门", notes = "类型(机构、部门)0-机构，1-部门")
    private String organizationalType;

    /**
     * 机构/部门编码
     */
    @ApiModelProperty(value = "机构/部门编码", notes = "机构/部门编码")
    private String organizationalCode;

    /**
     * 机构/部门名称
     */
    @ApiModelProperty(value = "机构/部门名称", notes = "机构/部门名称")
    private String organizationalName;

    /**
     * 负责人
     */
    @ApiModelProperty(value = "负责人", notes = "负责人")
    private String responsiblePerson;

    /**
     * 联系地址(机构必填)
     */
    @ApiModelProperty(value = "联系地址(机构必填)", notes = "联系地址(机构必填)")
    private String contactAddress;

    /**
     * 邮政编码
     */
    @ApiModelProperty(value = "邮政编码", notes = "邮政编码")
    private String postalCode;

    /**
     * 是否可用(必填)，0-可用，1-不可用
     */
    @ApiModelProperty(value = "是否可用(必填)，0-可用，1-不可用", notes = "是否可用(必填)，0-可用，1-不可用")
    private String flag;

    /**
     * 电话
     */
    @ApiModelProperty(value = "电话", notes = "电话")
    private String phone;

    /**
     * 传真
     */
    @ApiModelProperty(value = "传真", notes = "传真")
    private String facsimile;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱", notes = "邮箱")
    private String email;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", notes = "备注")
    private String remark;

    /**
     * 渠道
     */
    @ApiModelProperty(value = "渠道", notes = "渠道")
    private String channel;
    
    /**
     * 山港易付id
     */
    @ApiModelProperty(value = "山港易付id", notes = "山港易付id")
    private String sgyfId;

    /**
     * 排序字段
     */
    @ApiModelProperty(value = "排序字段", notes = "排序字段")
    private Integer sortNumber;

    /**
     * 证件种类,00-统一社会信用代码,01-组织机构代码证,营业执照,税务登记证,04-身份证
     */
    @ApiModelProperty(value = "证件种类,00-统一社会信用代码,01-组织机构代码证,营业执照,税务登记证,04-身份证", notes = "证件种类,00-统一社会信用代码,01-组织机构代码证,营业执照,税务登记证,04-身份证")
    private String papersType;

    /**
     * 证件编号,当证件种类为00时该字段为统一社会信用代码,01时该字段为组织机构代码,04时为身份证
     */
    @ApiModelProperty(value = "证件编号,当证件种类为00时该字段为统一社会信用代码,01时该字段为组织机构代码,04时为身份证", notes = "证件编号,当证件种类为00时该字段为统一社会信用代码,01时该字段为组织机构代码,04时为身份证")
    private String papersNo;
    
    /**
     * 税务登记证编号
     */
    @ApiModelProperty(value = "税务登记证编号", notes = "税务登记证编号", dataType = "String")
    private String taxRegistrationNo;
    
    /**
     * 营业执照编号
     */
    @ApiModelProperty(value = "营业执照编号", notes = "营业执照编号", dataType = "String")
    private String bussinessLicenseNo;
    
    /**
     * 证件有效期起,当证件种类为00时该字段为统一社会信用代码有效期,01时该字段为组织机构代码有效期
     */
    @ApiModelProperty(value = "证件有效期起,当证件种类为00时该字段为统一社会信用代码有效期,01时该字段为组织机构代码有效期", notes = "证件有效期起,当证件种类为00时该字段为统一社会信用代码有效期,01时该字段为组织机构代码有效期")
    private Date cerSdate;

    /**
     * 证件有效期止,当证件种类为00时该字段为统一社会信用代码有效期,01时该字段为组织机构代码有效期
     */
    @ApiModelProperty(value = "证件有效期止,当证件种类为00时该字段为统一社会信用代码有效期,01时该字段为组织机构代码有效期", notes = "证件有效期止,当证件种类为00时该字段为统一社会信用代码有效期,01时该字段为组织机构代码有效期")
    private Date cerEdate;
    
    /**
     * 营业执照有效期起
     */
    @ApiModelProperty(value = "营业执照有效期起", notes = "营业执照有效期起", dataType = "java.time.LocalDate")
    private Date bussinessLicenseNoSdate;

    /**
     * 营业执照有效期止
     */
    @ApiModelProperty(value = "营业执照有效期止", notes = "营业执照有效期止", dataType = "java.time.LocalDate")
    private Date bussinessLicenseNoEdate;
    
    /**
     * 税务登记证有效期起
     */
    @ApiModelProperty(value = "税务登记证有效期起", notes = "税务登记证有效期起", dataType = "java.time.LocalDate")
    private Date taxRegistrationNoSdate;

    /**
     * 税务登记证有效期止
     */
    @ApiModelProperty(value = "税务登记证有效期止", notes = "税务登记证有效期止", dataType = "java.time.LocalDate")
    private Date taxRegistrationNoEdate;
    
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", notes = "创建时间")
    private LocalDateTime gmtCreate;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", notes = "创建人")
    private Integer createBy;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间", notes = "修改时间")
    private LocalDateTime gmtModified;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人", notes = "修改人")
    private Integer modifiedBy;

    @ApiModelProperty(value = "业态公司id", notes = "业态公司id")
    private Integer formatId;
}
